﻿//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Data;

//using SSN.Objects;
//using SSN.Security;
//using SSN.Data.Database;
//using SSN.WebFramework.Security;
//using System.Web.UI;

//namespace SSN.WebFramework
//{
//    public static class Extensions
//    {
//        public static void Printable( this UserControl _control )
//        {
//            _control.Session.Add( "print_control", _control.RenderAsString( ) );
//            _control.Response.Redirect( "/Common/printable_page_letterhead.aspx" );
//        }

//        public static void Printable( this Control c, AuthPage page )
//        {
//            page.Session.Add( "print_control", c.RenderAsString( ) );
//            page.Response.Redirect( "/Common/printable_page_letterhead.aspx" );
//        }

//        public static string RenderAsString( this Control _Control )
//        {
//            System.IO.StringWriter swBuffer = new System.IO.StringWriter( );
//            HtmlTextWriter htmlW = new HtmlTextWriter( swBuffer );

//            // this is a try because some pages may already add the Cache-control
//            // and if it has, this will cause an exception

//            try
//            {
//                _Control.RenderControl( htmlW );
//            }

//            catch { }

//            /*
//             * DEBUG
//             */
//            return swBuffer.ToString( );
//        }

//        public static string Encrypt( this string url, ParameterManager paramMgr )
//        {
//            string[ ] split = url.Split( '?' );
//            return split[ 0 ] + paramMgr.EncryptUrl( "?" + split[ 1 ] );
//        }

//        internal static FocalwebUser getUser( string uid )
//        {
//            if ( uid == null || uid.Length < 1 )
//                return null;

//            var u = UserManager._uCache[ uid ];
//            if ( u == null )
//            {
//                var cu = new FWCachedUser( );
//                if ( cu.Load( uid ) )
//                {
//                    UserManager._uCache.CacheItem(uid, cu);
//                    u = cu;
//                }
//            }
//            return u;
//        }

//        public static FocalwebUser GetUser( this SSNSecurityContext ctx )
//        {
//            if ( ctx == null || !ctx.IsAuthenticated )
//                return null;

//            return getUser( ctx.userid );
//        }

//    }
//}
